#/bin/bash
USR_CONFIG_FILE=users
USR_CONFIG_DIR=/usr/local/etc/httpd
t=$RANDOM

user="^$2:"
if [ "$1" == "-u" ]
then
   if [ $# != 3 ]
   then
      echo "Not enough arguments"
      exit 1
   fi
# Only valid HMC users should be added
  g=`/usr/bin/id -g -n $2`
  if [ "$g" != "hmc" ]
  then
    exit 0
  fi
# Update if user does not exist, then just add it
   grep $user $USR_CONFIG_DIR/$USR_CONFIG_FILE 2>&1 1>/dev/null
   if [ $? -eq 0 ]
   then
      sed -e '/'$user'/d' $USR_CONFIG_DIR/$USR_CONFIG_FILE >/tmp/$USR_CONFIG_FILE.$t
      echo "$2:$3" >> /tmp/$USR_CONFIG_FILE.$t
      cp /tmp/$USR_CONFIG_FILE.$t $USR_CONFIG_DIR/$USR_CONFIG_FILE
      rm -f /tmp/$USR_CONFIG_FILE.$t
      exit 0
   else
      echo "$2:$3" >> $USR_CONFIG_DIR/$USR_CONFIG_FILE
   fi
fi
if [ "$1" == "-d" ]
then
# delete entry
   grep $user $USR_CONFIG_DIR/$USR_CONFIG_FILE 2>&1 1>/dev/null
   if [ $? -eq 0 ]
   then
      sed -e '/'$user'/d' $USR_CONFIG_DIR/$USR_CONFIG_FILE >/tmp/$USR_CONFIG_FILE.$t
      cp /tmp/$USR_CONFIG_FILE.$t $USR_CONFIG_DIR/$USR_CONFIG_FILE
      rm -f /tmp/$USR_CONFIG_FILE.$t
   fi
fi
# Changing user
if [ "$1" == "-c" ]
then
   grep $user $USR_CONFIG_DIR/$USR_CONFIG_FILE 2>&1 1>/dev/null
   if [ $? -eq 0 ]
   then
      sed -e 's/'$user'/'$3:'/' $USR_CONFIG_DIR/$USR_CONFIG_FILE >/tmp/$USR_CONFIG_FILE.$t
      cp /tmp/$USR_CONFIG_FILE.$t $USR_CONFIG_DIR/$USR_CONFIG_FILE
      rm -f /tmp/$USR_CONFIG_FILE.$t
   fi
fi

exit 0
